#ifndef IODEVICEWITHOUTTHREADSUPPORT_H
#define IODEVICEWITHOUTTHREADSUPPORT_H

#include "IODeviceIF.h"
#include "IODeviceContext.h"
#include "BDVector.h"
#include <BDList.h>

class IODeviceWithoutThreadSupport :
	public IODeviceIF
{
public:
	IODeviceWithoutThreadSupport(IODeviceType type, IODeviceContext* context);
	virtual ~IODeviceWithoutThreadSupport();

	virtual void AddEventListener(IODeviceEventListener* pListener);
	virtual IODeviceType GetType();

protected:

	BDVector<IODeviceEventListener*> m_vecListener;
	IODeviceType m_eType;

	void Notice(IODeviceType type, IODeviceOperation operation, unsigned int ptr);
	
	IODeviceContext* m_Context;
};

#endif
